home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / infosrvr / doc / www_talk.arc / 000274_timbl@www3.cern.ch _Fri Oct 30 11:51:33 1992.msg < prev    next >
Internet Message Format  |  1992-11-30  |  3KB

  1. Return-Path: <timbl@www3.cern.ch>
  2. Received: from dxmint.cern.ch by  nxoc01.cern.ch  (NeXT-1.0 (From Sendmail 5.52)/NeXT-2.0)
  3.     id AA24395; Fri, 30 Oct 92 11:51:33 MET
  4. Received: by dxmint.cern.ch (dxcern) (5.57/3.14)
  5.     id AA22086; Fri, 30 Oct 92 12:03:35 +0100
  6. Received: by www3.cern.ch (NX5.67c/NX3.0S)
  7.     id AA06754; Fri, 30 Oct 92 12:01:16 +0100
  8. Date: Fri, 30 Oct 92 12:01:16 +0100
  9. From: Tim Berners-Lee <timbl@www3.cern.ch>
  10. Message-Id: <9210301101.AA06754@www3.cern.ch>
  11. Received: by NeXT.Mailer (1.87.1)
  12. Received: by NeXT Mailer (1.87.1)
  13. To: Edward Vielmetti <emv@msen.com>
  14. Subject: port to bsdi / TOUPPER problem
  15. Cc: www-talk@nxoc01.cern.ch
  16. Reply-To: timbl@nxoc01.cern.ch
  17.  
  18.  
  19. >  Hi.  I am porting WWW to BSDI.  So far mostly so good, here are some
  20. >  notes.
  21.  
  22. Duuhh. What's BSDI?  {:-O
  23.  
  24. >  There are some stray dependencies in the Line Mode makefiles that point
  25. >  hard coded paths at /tmp for making stuff.  /tmp here is tiny, so I
  26. >  put the stuff in $(HOME)/tmp, but that didn't quite do the job.
  27.  
  28. It is a question of changing the ONJ macro to point to somewhere where
  29. there is space. It used to be the source directory, but some people
  30. want to build separately from a read-only source mount. So we put the OBJ
  31. macros in.
  32.  
  33. >  It took some amount of fiddling to get everything to build in the
  34. >  right place, I hacked at it until it all compiled ok but will have
  35. >  to go back and see what exactly it was that I did...
  36.  
  37. If you could mail me back the diffs I'll try to get them into
  38. the next version.
  39.  
  40. >  HTFile.c didn't compile until I commented out one of the two times 
  41.  
  42. >  that "tcp.h" was included - the compiler complained about a duplicate
  43. >  definition of "struct stat".
  44.  
  45. Ooops.. sorry, fixed.  I think you mean that <stat.h> was included
  46. explicitly once and once implcitly via  "tcp.h".
  47.   
  48.  
  49. >  After all that it compiles fine and seems to work, and 'www -source'
  50. >  prints out what looks like real genuine HTML sources.  However, it
  51. >  appears that there's some critical place where TOUPPER is not working
  52. >  right, since the lower-case <a href=foo:bar>foobar</a> tags don't
  53. >  get recognized, and the upper-case <TITLE>foobar</TITLE> tags do.  
  54.  
  55. >  This kind of ruins the hypertext effect :)
  56.  
  57. That is official BSD for you: toupper() doesn't work unless the isalpha()
  58. is true. You need to turn on the macros at the bottom of tcp.h
  59. for your platform.  What is the system-specific predefined cpp macro
  60. which we can #ifdef on? So far we have:
  61.  
  62.     #if defined(pyr) || defined(mips)
  63.       /* Pyramid and Mips can't uppercase non-alpha */
  64.     #define TOLOWER(c) (isupper(c) ? tolower(c) : (c))
  65.     #define TOUPPER(c) (islower(c) ? toupper(c) : (c))
  66.     #else
  67.     #define TOLOWER(c) tolower(c)
  68.     #define TOUPPER(c) toupper(c)
  69.     #endif /* pyr || mips */
  70.  
  71.  
  72. Thanks for the comments....
  73.  
  74.     Tim